home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / ABUSESRC.ZIP / AbuseSrc / abuse / net / netface.c < prev    next >
C/C++ Source or Header  |  1995-09-15  |  2KB  |  94 lines

  1.  
  2.  
  3. enum { WAIT_INPUT,      // driver is waiting on input from client
  4.        WAIT_SEND,       // driver waiting on all input collected before sending
  5.        WAIT_PROCESS     // driver waiting for engine to change this to WAIT_INPUT
  6.      };
  7.  
  8.  
  9.  
  10. struct base_memory_struct
  11. {
  12.   client_list *active_clients
  13.   join_struct *join_list;
  14.  
  15. } ;
  16.  
  17. struct client_list
  18. {
  19.   short client_id;    // used by engine to refer to specific client
  20.                       // the driver is responsible for allocating/deallocating client id's
  21.  
  22.   char input_state;   // one of the above wait states
  23.  
  24.   char command_buffer[1024];  // engine will process this data
  25.    
  26.   client_list *next;
  27.  
  28. // net driver may have private information here
  29.  
  30. } ;
  31.  
  32.  
  33.  
  34.  
  35. struct join_struct
  36. {
  37.   int client_id;
  38.  
  39.   join_struct *next;
  40.  
  41. // net driver may have private information here
  42. } ;
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49. /*
  50.  
  51.   Net driver to engine API
  52.  
  53.  
  54.   File API
  55.   -----------------------------------------------------
  56.   int open_file(char *filename, char *mode);
  57.   Note : filename may contain a references to another server.
  58.     If the player starts with -net all files locations default to
  59.     those on the specified server.  But if a filename has a
  60.     "//" leading it's filename, the location of the file prefixes
  61.     the filename.  example "//abuser.location.edu/~joe/file1.lsp"
  62.     specifies a file on the server abuser.location.edu in joe's
  63.     home directory called file1.lsp.
  64.  
  65.     The net driver should contact that address using the abuse file
  66.     protocol.  If no server is running there the server reports the
  67.     file does not exsist, -1 should be return.
  68.  
  69.  
  70.   int close_file(int fd);
  71.   int read(int fd, void *buffer, int size);  // returns bytes read
  72.   long seek(int fd, int offset);
  73.   long tell(int fd);
  74.   long file_size(int fd);
  75.  
  76.  
  77.  
  78.  
  79.  
  80.   Game API
  81.   -------------------------------------------------------
  82.   client_side :
  83.     join_game(char *hostname);
  84.  
  85.   server side :
  86.     kill_client(int client id);
  87.   
  88.  
  89. */
  90.  
  91.  
  92.  
  93.  
  94.